﻿using System;
using Autodesk.Revit.DB;
using YJKArch.Utils;

namespace YJKArch.ImportStructureProject.ImportObjects
{
	public struct EdgeInfos
	{
		public XYZ StartPoint
		{
			get
			{
				return this.m_StartPoint;
			}
		}

		public XYZ EndPoint
		{
			get
			{
				return this.m_EndPoint;
			}
		}

		public double Bulge
		{
			get
			{
				return this.m_Bulge;
			}
		}

		public bool IsArc
		{
			get
			{
				return !Geometry.IsEqual(this.m_Bulge, 0.0);
			}
		}

		public EdgeInfos(EdgeInfos rhs)
		{
			this.m_StartPoint = rhs.m_StartPoint;
			this.m_EndPoint = rhs.m_EndPoint;
			this.m_Bulge = rhs.m_Bulge;
		}

		public EdgeInfos(XYZ startPoint, XYZ endPoint, double bulge)
		{
			this.m_StartPoint = startPoint;
			this.m_EndPoint = endPoint;
			this.m_Bulge = bulge;
		}

		private XYZ m_StartPoint;

		private XYZ m_EndPoint;

		private double m_Bulge;
	}
}
